Touch-Screen Keyboard Facilitating Touch Typing with Minimal Finger Movement

ABSTRACT

A system, method and computer-readable medium for using a touch-screen keyboard. A keyboard operation module generates geometric shapes for display on a touch-screen display, each geometric Shape corresponding to a respective finger of a user. Each geometric shape includes characters at predefined locations around the perimeter of the geometric shape. The keyboard operation module detects a sliding movement of a finger in contact with the touch-screen display from inside a geometric Shape and toward the perimeter of the geometric shape. The keyboard operation module then determines that the sliding movement is in the direction of a particular character positioned around the perimeter of the geometric Shape and selects the particular character for display in a text entry area of the touch-screen display.

BACKGROUND

The emergence of touch-screen devices such as touch-screen personalcomputers, computer tablets, and mobile devices create a need for fastand efficient data entry keyboards on a touch-screen display. Because offactors, such as the size of the touch-screen devices, the inability ofa user to feel the location of the keys on the touch-screen display, orthe size of a representation of the conventional keyboard, using arepresentation of a conventional keyboard on a touch-screen display isnot the optimal method for entering data. For example, typing on atouch-screen representation of a conventional keyboard may be too slow.At the same time, switching to a more efficient type of a touch-screenkeyboard may require too much learning time from a user to justify aswitch.

BRIEF SUMMARY

A system, method and computer-readable medium for using a touch-screenkeyboard. A keyboard operation module generates geometric shapes fordisplay on a touch-screen display, each geometric shape corresponding toa respective finger of a user. Each geometric shape includes charactersat predefined locations around the perimeter of the geometric shape. Thekeyboard operation module detects a sliding movement of a finger incontact with the touch-screen display from inside a geometric shape andtoward the perimeter of the geometric shape. The keyboard operationmodule then determines that the sliding movement is in the direction ofa particular character positioned around the perimeter of the geometricshape and selects the particular character for display in a text entryarea of the touch-screen display.

Further embodiments, features, and advantages of the invention, as wellas the structure and operation of the various embodiments of theinvention are described in detail below with reference to accompanyingdrawings.

BRIEF DESCRIPTION OF THE DRAWINGS/FIGURES

The accompanying drawings, which are incorporated herein and form a partof the specification, illustrate embodiments of the invention and,together with the description, further serve to explain the principlesof the invention and to enable a person skilled in the relevant art tomake and use the invention.

FIG. 1A is a block diagram of a touch-screen device that includes atouch-screen keyboard, according to an embodiment.

FIG. 1B is a block diagram of a touch-screen keyboard that may be movedon a touch-screen display, according to an embodiment.

FIG. 1C is another block diagram of a touch-screen keyboard that may bemoved on a touch-screen display, according to an embodiment.

FIG. 2A is a diagram of a touch-screen keyboard, according to anembodiment.

FIG. 2B is another diagram of a touch-screen keyboard, according to anembodiment.

FIG. 2C is another diagram of a touch-screen keyboard that includes anupper case configuration, according to an embodiment.

FIG. 2D is another diagram of a touch-screen keyboard that includes anumeric configuration, according to an embodiment.

FIG. 2E is a diagram of a touch-screen keys of various sizes, accordingto an embodiment.

FIG. 2F is a diagram for selecting a character on a touch-screen key,according to an embodiment.

FIG. 3 is a flowchart of a method for using a touch-screen keyboard on atouch-screen device, according to an embodiment.

FIG. 4 is a block diagram of a computer system in which embodiments ofthe invention can be implemented.

The invention will now be described with reference to the accompanyingdrawings. In the drawings, generally, like reference numbers indicateidentical or functionally similar elements, Additionally, generally, theleft-most digit(s) of a reference number identifies the drawing in whichthe reference number first appears.

DETAILED DESCRIPTION OF THE INVENTION

The following detailed description refers to the accompanying drawingsthat illustrate exemplary embodiments consistent with this invention.Other embodiments are possible, and modifications can be made to theembodiments within the spirit and scope of the invention. Therefore, thedetailed description is not meant to limit the invention. Rather, thescope of the invention is defined by the appended claims.

FIG. 1A is a block diagram 100 of a computing device system thatincludes a touch-screen keyboard. Block diagram 100 includes a computingdevice 102, a touch-screen display 104, a keyboard operation module 106and a touch-screen keyboard 108.

Computing device 102 is an electronic device under the control of auser. Computing device 102 is capable of requesting and receivingresources that include HTML pages over a network, such as the Internetor the World Wide Web, or creating and manipulating content in astandalone environment.

Computing device 102 includes a touch-screen display 104 for viewing andmanipulating content. in one embodiment, touch-screen display 104 is adisplay screen of a computing device 102. In another embodiment,touch-screen display 104 may be coupled to computing device 102 and maycommunicate with computing device 102 through a communication interface(not shown). Example computing devices 102 are touch-screen personalcomputers, touch-screen mobile communication devices and tabletcomputers, to name only a few.

Touch-screen display 104 is an electronic visual display that detectsthe presence and the location of a touch of a user or a stylus withinthe touch-screen display area. For example, touch-screen display 1.04allows a user to use fingers, a hand or a stylus to enter data such ascharacters, words and phrases.

Keyboard operation module 106 generates a touch-screen keyboard 108 fora user on touch-screen display 104 In one embodiment, a keyboardoperation module 106 is activated when a user places a hand, some or allfingers on the surface of touch-screen display 104. In anotherembodiment, the user may activate keyboard generation module 106 bypressing a designated area on touch-screen display 104 or computingdevice 102, such as, without limitation, a top corner of touch-screendisplay 104, a keyboard button that keyboard operation module 106displays on touch-screen display 104, etc. In another embodiment, a usermay tap on a touch-screen display 104 a configurable number of times todisplay touch-screen keyboard. 108, or tap over a text box area ontouch-screen display 104. When activated, keyboard operation module 106generates geometric shapes that a user may use to enter data.

Unlike conventional touch-screen computing devices that display an imageof a conventional keyboard to enter data, keyboard operation module 106displays geometric shapes to enter characters on touch-screen display104. Each geometric shape is a data entry area on touch-screen display104 that is associated with a set of characters that corresponds tocharacters included on a conventional keyboard. Keyboard operationmodule 106 may also configure a geometric shape to display a word or aphrase.

Together, the geometric shapes represent a touch-screen keyboard 108(described in detail below) that a user uses to enter data ontouch-screen display 104.

The geometric shapes may include, without limitation, circles, ovals,squares, pentagons, etc., or other geometric shapes configured by auser. Keyboard operation module 106 may initialize the size of eachgeometric shape to a default size or may vary or adjust the size of eachgeometric shape based on the size of the fingers of a user. For example,the size of each geometric shape may be proportional to an area on touchscreen display 104 that a user touches to enter characters usingtouch-screen keyboard 108.

A user may also use key board operation module 106 to configure the sizeof each geometric shape.

Unlike a conventional touch-screen keyboard that simulates aconventional keyboard on a touch-screen device, touch-screen keyboard108 simulates the placement of the fingers of a user on touch-screendisplay 104. For example, geometric shapes included in touch-screenkeyboard 108 may be positioned on touch-screen display 104 around thecenters of the fingertips of the user. In one embodiment, there are asmany geometric shapes as there are fingers on a hand of a user. Inanother embodiment, a user may configure keyboard operation module 106to display additional geometric shapes.

Unlike a conventional touch-screen keyboard a computing device displayson the top or bottom portion of a conventional touch-screen display,keyboard operation module 106 may place the geometric shapes intouch-screen keyboard 108 at a location that is desired by a user. Forexample, a user may drag touch-screen keyboard 108 to a desired locationon touch-screen display 104. In one embodiment, as in FIG. 1B, a usermay touch a designated area, such as area 110 and drag area 110 to adesired location on touch-screen display 104. For example, to movetouch-screen keyboard 108 in a vertical direction, a user can place afinger in area 110 and drag the finger along the surface of touch-screendisplay 104 in the direction of an arrow 112 a. To move touch-screenkeyboard 108 in a horizontal direction, a user can place a finger inarea 110 and drag the finger along the surface of touch-screen display104 in the direction of an arrow 112 c. To move touch-screen keyboard108 at an angle, such as, for example, 135 degrees, a user can place afinger in area 110 and drag the finger along the surface of touch-screendisplay 104 in the direction of an arrow 112 b.

In another embodiment, as in FIG. 1C, a user may drag the geometricshapes to a desired location by placing some or all fingertips on top oftouch-screen display 104 and over the geometric shapes. For example, auser may place the fingertips of one or both hands on geometric shapes113, and while maintaining the pressure, slide the fingertips to adesired location for touch-screen keyboard 108 on touch-screen display104. For example, the user may move touch-screen keyboard 108vertically, by sliding the fingertips along touch-screen display 104 inthe direction of arrows 114.

Once displayed, touch-screen keyboard 108 is locked for use ontouch-screen display 104 until a user completes entering data. Whentouch-screen keyboard 108 is locked for use, touch-screen keyboard 108remains on touch-screen display until a user completes providing inputsto touch-screen keyboard 108. For example, keyboard. operation module106 may be configured to display touch-screen keyboard 108 ontouch-screen display 104 for a predetermined amount of time after a usercompletes entering data. The predetermined amount of time may be set bya user in keyboard operation module 106. Keyboard operation module 106may then measure time from the time the user completes touching some orall geometric shapes on touch-screen display 104.

In another example, a user may turn off touch-screen. keyboard bytouching a predefined area on touch-screen display 104, such as akeyboard menu provided by keyboard operation module 106. In anotherexample, touch-screen keyboard 108 may disappear when a user moves thecursor away from a data entry area displayed on touch-screen display104, such as, for example, an entry box. A person skilled in the artwill appreciate that the examples above are given by way of example, andnot limitation, and that other ways to determine when a user completesusing touch-screen keyboard 108 may be used.

FIG. 2A is an exemplary embodiment 200A of a touch-screen keyboard. Inan exemplary embodiment, keyboard operation module 106 generates circlesas geometric shapes that represent touch-screen data entry keys. Aperson skilled in the art will. appreciate that keyboard operationmodule 106 may be configured to generate other geometric shapes thatrepresent touch-screen keyboard 108. In another embodiment, a user maydraw the desired geometric shapes using drawing software, and configurekeyboard operation module 106 to use the drawn geometric shapes as thedesired. geometric shapes for touch-screen keyboard 108.

Each circle, such as circles 202-220 represents an area on touch-screendisplay 104 for entering characters using a particular finger of a user.Each circle of circles 202-220 may also be associated with a predefinedset of characters. According to one embodiment, the predefinedcharacters are along the outside boarder of perimeter associated witheach circle 202-220. When a user desires to move circles 202-220 to aparticular location on touch-screen display 104, the set of charactersassociated with each circle 202-220 also moves to the desired location.

In an embodiment, a predefined set of characters for each geometricshape may include characters that a user associates with a particularfinger on a QWERTY keyboard. In such a way, touch-screen keyboard 108 isflexible in positioning the characters on touch-screen display 104 in alocation that is convenient for a user, while maintaining theassociation of a user with a layout of a conventional QWERTY keyboard.The embodiments of the invention, however; are not limited to animplementation using a QWERTY keyboard.

In another embodiment, a user may configure touch-screen keyboard 108 toinclude characters in each geometric shape that are associated with aDvorak keyboard. In another embodiment, a user may configuretouch-screen keyboard 108 to include keyboard variations specific toforeign languages, including but not limited to Chinese, Japanese,Arabic and Hebrew.

The following description refers to a non-limiting example of a layoutof touch-screen keyboard 108 that includes circles 202-220 in a QWERTYrepresentation. For example, circle 202 may represent a pinky of a lefthand. On a QWERTY keyboard the user associates the pinky of a left handto type characters “a”, “q” and “z”. On touch-screen display 104,characters “a”, “q”, and “z” are on the outside perimeter of circle 202.

Circle 204 may represent the ring finger of a left hand. On a QWERTYkeyboard the user associates the ring finger of a left hand to typecharacters “s”, “w” and “x”. On touch-screen display 104, characters“s”, “w” and “x” are on the outside perimeter of circle 204.

Circle 206 may represent the middle finger of a left hand. On a QWERTYkeyboard the user associates the middle finger of a left hand to typecharacters “d”, “e” and “c”. On touch-screen display 104, characters“d”, “e” and “c” are on the outside perimeter of circle 206.

Circle 208 may represent the index finger of a left hand. On a QWERTYkeyboard the user associates the index finger of a left hand to typecharacters “f”, “r” “t”, “g”, “b” and “v”. On touch-screen display 104,characters “f”, “r”, “t”, “g”, “b” and “v” are on the outside perimeterof circle 208.

Circle 210 may represent the pinky of a right hand. On a QWERTY keyboardthe user associates the pinky of a right hand to type characters “p” and“;”. In an embodiment, a special character that is frequently used on acomputing device 102, such as “@” may also be associated with circle210, although a user may configure keyboard operation module 106 todisplay a different character. On touch-screen display 104, characters“p”, “;” and “@” are on the outside perimeter of circle 210.

Circle 212 may represent the ring finger of a right hand. On a QWERTYkeyboard the user associates the ring finger of a right hand to typecharacters “i”, “o” and “m”. On touch-screen display 104, characters“i”, “o” and “m” are on the outside perimeter of circle 212.

Circle 214 may represent the middle finger of a right hand. On a QWERTYkeyboard the user associates the middle finger of a. right hand to typecharacters “k”, “i” and “,”. On touch-screen display 104, characters“k”, “i” and “,” are on the outside perimeter of circle 214.

Circle 216 may represent the index finger of a right hand. On a QWERTYkeyboard the user associates the index finger of a right hand to typecharacters “h”, “y”, “u”, “n” and “j”. On touch-screen display 104,characters “h”, “y”, “u”, “n” and “j” are on the outside perimeter ofcircle 216.

In another example, circle 218 represents a thumb of the left hand andcircle 220 represents the thumb of a right hand. Those circles may beassociated with special characters, phrases or space key or an enterkey. Some example special characters or phrases are “.com” or “www.”. Ontouch-screen display 104, characters “.com” and “www.” are on theoutside perimeter of circles 218 or 220. A user may use keyboardoperation module 206 to configure circles 218 and 220 with other specialcharacters, phrases that are desired by a user.

FIG. 2B is exemplary embodiment 200B of a touch-screen keyboard. In thisembodiment, characters associated with each geometric shape 202 b to 220b may be included inside the perimeter of each geometric Shape. Forexample, characters associated with geometric shape 202 b may includecharacters “a”, “q” and “z” that are inside the perimeter of geometricshape 202 b.

FIG. 2C discloses an exemplary embodiment 200C that enables a user tocapitalize characters in a touch-screen keyboard. Embodiment 200Cincludes geometric shapes 202 c-220 c that display capital letters. Forexample, touch-screen keyboard 108 may include geometric shape 222 cthat allows a user to switch between an upper case notation ofembodiment 200C and lower case notation disclosed in embodiment 200A.Geometric shape 222 c allows a user to switch between lower and uppercase characters. For example, a user may tap on geometric shape 222 cbriefly, When a user wishes to type a single character in an upper casenotation. In another example, when a user wishes to switch to upper casenotation, a user may apply pressure to geometric shape 222 c for aconfigurable amount of time. Similarly, when a user wishes to switchfrom the upper case notation of embodiment 200C to a lower case notationof embodiment 200A, a user may also apply pressure to geometric shape222 c for a configurable amount of time.

In an embodiment, an upper case notation associated with geometric Shape222 c may be included in geometric shapes 202 c-220 c. For example, anupper case notation may be included in geometric shape 202 c betweencharacters “A” and “Z”. In this embodiment, a user may switch to anupper case notation by sliding a pinky of a left hand toward the uppercase notation included in geometric shape 202 c.

FIG. 2D discloses an exemplary embodiment 200D that enables atouch-screen display to displays numbers and special characters.Embodiment 200D includes geometric shapes 202 d-220 d that displaynumbers and special characters. For example, touch-screen keyboard 108may include geometric shape 222 d that allow a user to switch between anumeric layout described in embodiment 200D and an alphabetic layoutdescribed in embodiment 200.

Touch-screen keyboard 108 displaying a numeric layout may also displayspecial characters, such as, without limitations characters that sharethe same key with the numerical characters on a QWERTY keyboard. Inanother embodiment, however, touch-screen keyboard 108 may be configuredto display special characters separately from the numeric characters.

In an exemplary embodiment, circles 202 d-220 d describe the numericlayout included in touch-screen keyboard 108 and corresponding specialcharacters as displayed on a QWERTY keyboard. For example, circle 2020may be associated with characters “1” and “!”.

Circle 204 d may be associated with characters “2” and “@”.

Circle 206 d may be associated with characters “3” and “#”.

Circle 208 d may be associated with characters “4”, “5”, “%” and “$”.

Circle 210 d may be associated with characters “0” and “)”.

Circle 212 d may be associated with characters “9” and “(”.

Circle 214 d may be associated with characters “8” and “*”.

Circle 216 d may be associated with characters “6”, “7”, “̂” and “&”.

Circle 218 d may be associated with characters “−” and “+” or “ENTER”.

Circle 220 d may be associated with characters “_” AND “=” or “ENTER”.

A person skilled in the art will appreciate that this embodiment is notlimiting and that a user may configure geometric shapes to display thenumerical and special characters as desired by a user.

In an embodiment, a user may also configure for multiple geometricshapes to be associated with the same character(s).

FIG. 2E discloses an exemplary embodiment 200E of different sizes forgeometric shapes. Geometric shapes included in touch-screen keyboard 108may adjust to the size of a finger of a user. In an embodiment, keyboardoperation module 106 determines the size of each geometric shape basedon the size of an area on touch-screen display 104 that receivespressure from the fingers of a user, when the user activatestouch-screen keyboard 108. In another embodiment, keyboard operationmodule 106 may adjust the size of each geometric shape associated withtouch-screen keyboard as the keyboard operation module 106 receivesinput from the user.

Embodiment 200E displays geometric shapes as circles 230-236 of varioussizes.

Example geometric shapes include circles 230-236 of various sizes thatinclude characters “f”, “r”, “t”, “g”, “v” and “b”. For example, circle230 may be generated by a user having a smaller finger size than circle236.

A user uses touch-screen keyboard 108 to enter characters and data ontoan area in touch-screen display 104 that receives input. A user mayplace his finger inside the geometric shape that is associated with aparticular finger. For example, a user may position the pinky of theleft hand inside circle 202, the ring finger of the left hand insidecircle 204, etc.

Once a user positions his fingers inside the associated geometric shape,a user causes keyboard operation module 106 to generate a character bysliding his fingers from the center of the geometric shape and in thedirection of the desired character. FIG. 2F is an exemplary embodiment200F of a user using a geometric shape to select a character. Embodiment200F allows a user to simulate entering data using a format, forexample, of a QWERTY keyboard, but using geometric shapes.

Embodiment 200F includes an exemplary geometric shape, such as, circle236 described above. In an embodiment, circle 236 may correspond to anindex finger of a left hand of a user. To type a Character using circle236, a user places his finger, such as, an index finger of a left handin the center of circle 236 at position 238. A user causes keyboardoperation module 106 to type a character on touch-screen display 104 bysliding a finger from position 238 and in the direction of the desiredcharacter. For example, a user may cause keyboard operation module 106to type character “r” by sliding the index finger of the left hand fromposition 238 and upward toward character “r”, as described by arrow 240in embodiment 200F. Similarly, a user may type character “g” by slidingthe index finger of the left hand from position 238 in the center ofcircle 236 and in the direction of character “g”, as described by arrow242. A person skilled in the art will appreciate that a user may use asimilar movement of a left index finger to type characters “r” and “g”on a conventional keyboard.

Keyboard operation module 106 detects the movement of a user ontouch-screen display 104 by determining the starting and ending positionof a finger of a user on touch-screen display 104. When keyboardoperation module 106 determines that a user moved a finger from theinside of geometric shape toward a character, keyboard operation module106 identifies the character and displays the character on touch-screendisplay 104. For example, keyboard operation module 106 stores alocation of each geometric shape that is displayed on touch-screendisplay 104. The location of each geometric shape may be stored as a setof (x,y) coordinates, that correspond to the grid of touch-screendisplay 104. The characters that are associated with each geometricshape also include their own area on touch-screen display 104. Thelocation of each character that is associated with a geometric shape mayalso be stored as a set of (x,y) coordinates. A person skilled in theart will appreciate that keyboard operation module 106 recalculates the(x,y) coordinates for each geometric shape and the associated.characters each time a user decides to move touch-screen keyboard 108 toa new location on touch-screen display 104.

When a user touches touch-screen display 104, a user applies pressure toa particular area of touch-screen display 104. Keyboard operation module106 identifies the (x,y) coordinates of the area on touch-screen display104 that receives pressure from a user. Keyboard operation module 106then proceeds to map the (x,y) coordinates of an area that a usertouches on touch-screen display 104 to the (x,y) coordinates of ageometric shape. For example, when a user places a finger on position238, keyboard operation module 106 determines that the (x,y) coordinatesof the area on touch-screen display 104 where the user applies pressure,overlap with the (x,y) coordinates of the geometric shape.

As a user slides a finger from position 238 to a character associatedwith geometric shape 236, keyboard operation module 106 determines thedirection in which a. user slides a finger. For example, keyboardoperation module 106 tracks the (x,y) coordinates of the area ontouch-screen display where a user applies pressure as he slides thefinger. Keyboard operation module 106 also determines whether the userapplied pressure on an area of touch-screen display 104 that overlapswith a set of (x,y) coordinates for a particular character. If theoverlap occurs, keyboard operation module 106 determines that thecharacter is associated with a geometric shape and displays thecharacter in a text area on touch-screen display 104.

FIG. 3 is a flowchart for a method 300 for receiving input with atouch-screen keyboard, according to an embodiment.

At stage 302, geometric shapes are generated. For example, keyboardoperation module 106 generates geometric shapes in response to a userplacing fingers of one or both hands on touch-screen display 104. Asdescribed herein, each geometric shape displayed on touch-screen display104 corresponds to a particular finger of a user,

At stage 304, characters associated with each geometric shape aredisplayed. For example, keyboard operation module 106 displays one ormore characters associated with each geometric shape. As describedherein, characters associated with each geometric shape may beassociated with a QWERTY or DVORAK characters that a user types with acorresponding finger. Alternatively a user may configure a preferred setthe characters for each geometric shape,

At stage 306, a sliding movement of a finger is detected. For example,keyboard operation module 106 detects a user sliding a finger from acenter of a particular geometric shape and towards the perimeter of thegeometric shape on touch-screen display 104.

At stage 308, a direction of the sliding movement is determined. Forexample, keyboard operation module 106 determines the direction of asiding movement of a finger. As described herein, the direction of thesliding movement is toward a particular character that is associatedwith a particular position around the perimeter of the particulargeometric shape.

At stage 310, a character is identified. For example, when a usercompletes the sliding movement, keyboard operation module 106 determineswhether the position of a finger of a user overlaps with a characterthat is associated with the geometric shape.

At stage 312, a character is displayed. For example, if keyboardoperation module 106 determines an overlap, keyboard operation module106 displays the character in a text area on touch-screen display 104.

FIG. 4 is an example computer system 400 in which embodiments of thepresent invention, or portions thereof, may be implemented ascomputer-readable code. For example, the components or modules of system100, including keyboard operation module 106 may be implemented in oneor more computer systems 400 using hardware, software, firmware,tangible computer-readable media having instructions stored thereon, ora combination thereof and may be implemented in one or more computersystems or other processing systems. Modules and components in FIGS. 1-3may be embodied in hardware, Software, or any combination thereof.

Computing device 102 may include one or more processors 402, one or morenon-volatile storage mediums 404, and one or more memory devices 406, acommunication infrastructure 408, a display screen 410 and acommunication interface 412. Processors 402 may include any conventionalor special purpose processor, including, but not limited to, digitalsignal processor (DSP), field programmable gate array (FPGA), andapplication specific integrated circuit (ASIC). Non-volatile storage 404may include one or more of a hard disk drive, flash memory, and likedevices that may Store computer program instructions and data oncomputer-readable media. One or more of non-volatile storage device 404may be a removable storage device. Memory devices 406 may include one ormore volatile memory devices such as but not limited to, random accessmemory. Communication infrastructure 408 may include one or more deviceinterconnection buses such as Ethernet, Peripheral ComponentInterconnect (PCI), and the like.

Typically, computer instructions are executed using one or moreprocessors 402 and can be stored in non-volatile storage medium 404 ormemory devices 406.

Display screen 410 allows results of the computer operations to bedisplayed to a user or an application developer.

Communication interface 412 allows software and data to be transferredbetween computer system 400 and external devices. Communicationinterface 412 may include a modem, a network interface (such as anEthernet card), a communications port, a PCMCIA slot and card, or thelike. Software and data transferred via communication interface 412 maybe in the form of signals, which may be electronic, electromagnetic,optical, or other signals capable of being received by communicationinterface 412. These signals may be provided to communication interface412 via a communications path. The communications path carries signalsand may be implemented using wire or cable, fiber optics, a phone line,a cellular phone link, an RF link or other communications channels.

Embodiments also may be directed to computer program products comprisingsoftware stored on any computer-useable medium. Such software, whenexecuted in one or more data processing device, causes a data processingdevice(s) to operate as described herein. Embodiments of the inventionemploy any computer-useable or readable medium. Examples ofcomputer-useable mediums include, but are not limited to, primarystorage devices (e.g., any type of random access memory), secondarystorage devices (e.g., hard drives, floppy disks, CD ROMS, ZIP disks,tapes, magnetic storage devices, and optical storage devices, MEMS,nanotechnological storage device, etc.).

The embodiments have been described above with the aid of functionalbuilding blocks illustrating the implementation of specified functionsand relationships thereof The boundaries of these functional buildingblocks have been arbitrarily defined herein for the convenience of thedescription. Alternate boundaries can be defined so long as thespecified functions and relationships thereof are appropriatelyperformed.

The foregoing description of the specific embodiments will so fullyreveal the general nature of the invention that others can, by applyingknowledge within the skill of the art, readily modify and/or adapt forvarious applications such specific embodiments, without undueexperimentation, without departing from the general concept of thepresent invention, Therefore, such adaptations and modifications areintended to be within the meaning and range of equivalents of thedisclosed embodiments, based on the teaching and guidance presentedherein. It is to be understood that the phraseology or terminologyherein is for the purpose of description and not of limitation, suchthat the terminology or phraseology of the present specification is tobe interpreted by the skilled artisan in light of the teachings andguidance.

The Summary and Abstract sections may set forth one or more but not allexemplary embodiments of the present invention as contemplated by theinventor(s), and thus, are not intended to limit the present inventionand the appended claims in any way.

The breadth and scope of the present invention should not be limited byany of the above-described exemplary embodiments, but should be definedonly in accordance with the following claims and their equivalents.

1-20. (canceled)
 21. A computer-implemented method comprising:generating a plurality of geometric shapes for display on a touch-screendisplay of a computing device, each shape corresponding to a respectivefinger of a user; positioning, on the touch-screen display, a pluralityof characters at predefined locations inside a perimeter of each shape,wherein the plurality of characters inside the perimeter of each shapeare associated with a particular finger and positioned withoutoverlapping with the remaining geometric shapes, and wherein thepositioning corresponds to the plurality of characters on a conventionaltwo-handed QWERTY keyboard associated with a typing pattern of theparticular finger; detecting a sliding movement of a finger in contactwith the touch-screen display from inside a particular one of thegeometric shapes toward one of the plurality of characters positionedinside the perimeter of the particular shape; determining that thesliding, movement is in the direction of a particular one of theplurality of characters positioned inside the perimeter of theparticular geometric shape; and based on the sliding, selecting theparticular character for display in a text entry area of thetouch-screen display.
 22. (canceled)
 23. (canceled)
 24. (Canceled) 25.The method of claim 21, further comprising: detecting a sliding movementof one or more fingers of the user in contact with the touch-screendisplay; and in response to the detecting, determining a new locationfor each shape on the touch-screen display.
 26. The method of claim 21,further comprising centering the respective shape around a respectivefinger when one or more fingers are placed on the touch-screen display.27. The method of claim 21, further comprising: positioning a phrase ata predefined location around the perimeter of the particular shape;determining that the sliding movement is in the direction of the phrasepositioned around the perimeter of the particular shape; and selectingthe phrase for display in the text entry area of the touch-screendisplay.
 28. A system for generating a keyboard on a touch-screendisplay of a computing device, comprising: a touch screen displayconfigured to display one or more characters in a text entry area; and akeyboard operation module configured to: generate a plurality ofgeometric shapes for display on the touch-screen display, wherein eachshape corresponds to a respective finger of a user; position, on thetouch-screen display, a plurality of characters at predefined locationsinside a perimeter of each shape, wherein the plurality of charactersinside the perimeter of each shape are associated with a particularfinger and positioned without overlapping with the remaining geometricshapes, and wherein the positioning corresponds to the plurality ofcharacters on a conventional two-handed QWERTY keyboard associated witha typing pattern of the particular finger; detect a sliding movement ofa finger in contact with the touch-screen display from inside aparticular one of the geometric shapes toward one of the plurality ofcharacters positioned inside the perimeter of the particular shape;determine that the sliding movement is in the direction of a particularone of the plurality of characters positioned inside the perimeter ofthe particular geometric shape; and select the particular character fordisplay in a text entry area of the touch-screen display, wherein thecharacter is selected based on the sliding movement.
 29. (canceled) 30.(canceled)
 31. (canceled)
 32. The system of claim 28, wherein thekeyboard operation module is further configured to: detect a slidingmovement of one or more fingers of the user in contact with thetouch-screen display; and in response to the detecting, determine a newlocation for each shape on the touch-screen display.
 33. The system ofclaim 28, wherein the keyboard operation module is further configuredto: position a phrase at a predefined location around the perimeter ofthe particular shape; determine that the sliding movement is in thedirection of the phrase positioned around the perimeter of theparticular shape; and select the phrase for display in the text entryarea of the touch-screen display.